package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc UpdateQuestionComReqDto
 * @使用场景
 */
@Data
public class UpdateQuestionComReqDto extends BaseDto implements Serializable {

  /**
   * 问题ID
   */
  @NotNull(message = "问题ID不能为空")
  @ApiModelProperty("问题ID")
  private String questionId;

  /**
   * 问题编号
   */
  @ApiModelProperty("问题编号")
  private String questionNumber;

  /**
   * 问题文字简介
   */
  @ApiModelProperty("问题文字简介")
  private String questionIntroduce;

  /**
   * 问题文字描述
   */
  @ApiModelProperty("问题文字描述")
  private String questionDesc;

  /**
   * 问题图片描述
   */
  @ApiModelProperty("问题图片描述")
  private String questionImg;

  /**
   * 问题等级
   */
  @ApiModelProperty("问题等级")
  private String questionLevel;

  /**
   * 问题状态 QUESTIONABILITY:待解决 RESOLVED:已解决 OVERTIME:已超时 SHELVE:暂搁置 REJECTED:已拒绝 SUSPENDED:已挂起 CLOSED:已关闭
   */
  @ApiModelProperty("问题状态")
  private String questionStatus;

  /**
   * 状态备注
   */
  @ApiModelProperty("状态备注")
  private String remarks;

  /**
   * 是否私密 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否私密")
  private String isPrivate;

  /**
   * 接收部门ID
   */
  @ApiModelProperty("接收部门ID")
  private String receiveSubjectId;

  /**
   * 实际解决时间
   */
  @ApiModelProperty("实际解决时间")
  private Date actualSolveTime;

  /**
   * 实际解决天数
   */
  @ApiModelProperty("实际解决天数")
  private Long actualSolveCycle;

  /**
   * 归属主体排序
   */
  @ApiModelProperty("归属主体排序")
  private Long orderNumber;

  /**
   * 相关人数量
   */
  @ApiModelProperty("相关人数量")
  private Long relevantPeopleNum;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

}
